package com.ruoyi.health.service;

import java.util.List;
import com.ruoyi.health.domain.User;

/**
 * 前台用户Service接口
 * 
 * @author dalian
 * @date 2023-08-06
 */
public interface IUserService 
{
    /**
     * 根据【id】查询前台用户
     * 
     * @param id 前台用户主键
     * @return 前台用户
     */
    public User selectUserById(Long id);

    /**
     * 根据【手机号】查询前台用户
     *
     * @param phone 手机号
     * @return 前台用户
     */
    public User selectUserByPhone(String phone);

    /**
     * 查询前台用户列表
     * 
     * @param user 前台用户
     * @return 前台用户集合
     */
    public List<User> selectUserList(User user);

    /**
     * 新增前台用户
     * 
     * @param user 前台用户
     * @return 结果
     */
    public int insertUser(User user);

    /**
     * 修改前台用户【手机号、密码不能修改】
     * 
     * @param user 前台用户
     * @return 结果
     */
    public int updateUser(User user);

    /**
     * 修改前台用户的密码
     *
     * @return 结果
     */
    int updateUserPassword(Long id,String newPwd);

    /**
     * 批量删除前台用户
     * 
     * @param ids 需要删除的前台用户主键集合
     * @return 结果
     */
    public int deleteUserByIds(Long[] ids);

    /**
     * 删除前台用户信息
     * 
     * @param id 前台用户主键
     * @return 结果
     */
    public int deleteUserById(Long id);


    /**
     * 查询手机号是否已经注册
     * @param phone
     */
    int checkPhoneUnique(String phone);

    /**
     * 重置用户密码为12345678（管理员）
     * @param id
     * @return
     */
    int resetPassword(Long id);

    /**
     * 查看用户的密码
     * @param id
     * @return
     */
    String selectUserPassword(Long id);
}
